package com.ruoyi.jiaopei.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 课程学员业务对象 tb_curriculum_student
 *
 * @author macy
 * @date 2024-04-03
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class TbCurriculumStudentBo extends BaseEntity {

    /**
     * ID
     */
    @NotNull(message = "ID不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 学员ID
     */
    @NotNull(message = "学员ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long studentId;
    private String studentName;

    /**
     * 课程ID
     */
    @NotNull(message = "课程ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long curriculumId;

    /**
     * 课时
     */
    @NotNull(message = "课时不能为空", groups = {  EditGroup.class })
    private BigDecimal lessonHours;

    /**
     * 剩余课时
     */
    private BigDecimal surplus;

    /**
     * 课程名称
     */
    @NotBlank(message = "课程名称不能为空", groups = {  EditGroup.class })
    private String curriculumName;

    /**
     * 价格
     */
    @NotNull(message = "价格不能为空", groups = {  EditGroup.class })
    private BigDecimal price;

    /**
     * 创建时间
     */
    @NotNull(message = "创建时间不能为空", groups = { EditGroup.class })
    private Date createdDate;

    /**
     * 审批人
     */
    private String approval;
    /**
     * 备注
     */
    private String remarks;

    /**
     * 销售
     */
    @NotNull(message = "销售不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long salesId;
    private String salesName;

    /**
     * 来源 =字典
     */
    private String source;

    /**
     * 付款状态 =字典
     */
    private String paymentStatus;

    /**
     * 付款时间
     */
    private Date paymentDate;

}
